// import com.alibaba.druid.sql.ast.SQLExpr_ptr;
// import com.alibaba.druid.sql.ast.SQLName_ptr;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../SQLStatementImpl.h"
#include "SQLCreateStatement.h"

class SQLCreateUserStatement : virtual public SQLStatementImpl, virtual public SQLCreateStatement
{
public:
  SQLName_ptr user;
  SQLExpr_ptr password;

  // oracle
  SQLName_ptr defaultTableSpace;

  SQLCreateUserStatement();
  SHAREDOBJECT(SQLCreateUserStatement);

  SQLName_ptr getUser();

  void setUser(SQLName_ptr user);

  SQLExpr_ptr getPassword();

  void setPassword(SQLExpr_ptr password);

  // @Override
  void accept0(SQLASTVisitor_ptr visitor);

  // @Override
  SQLDDLStatement::DDLObjectType getDDLObjectType();
};
